import Config from './config.js'

const request = {}
const headers = {}
const PORT1 = '/baseinfo' //可用可不用
    
request.globalRequest = (url, method, data, power) => {
/*权限判断 因为有的接口请求头可能需要添加的参数不一样，所以这里做了区分
== 不通过access_token校验的接口
== 文件下载接口列表
== 验证码登录 */
	// let token = uni.getStorageSync('userInfo').access_token;
	let token = uni.getStorageSync('token');
    switch (power){
        case 1:
			headers['Content-Type']= 'application/json'
            headers['Authorization'] = 'bearer '+token
			headers['Blade-Auth'] = 'bearer '+ token
            break;
        case 2:
			headers['Content-Type']= 'application/x-www-form-urlencoded;charset=UTF-8'
            headers['Authorization'] = 'bearer '+ token
			headers['Blade-Auth'] = 'bearer '+ token
            break;
        case 3:
            headers['Content-Type']= 'application/json'
            headers['Blade-Auth'] = 'bearer '+ token
            break;
		case 4:
			headers['Content-Type']= 'application/x-www-form-urlencoded;charset=UTF-8'
			headers['Blade-Auth'] = 'bearer '+ token
			break;
        default:
            // headers['Authorization'] = `Bearer ${
            //     this.$store.getters.userInfo
            // }`
            // headers['TENANT-ID'] = this.$store.getters.userInfo.tenant_id
            // break;
    }
	var loading = data.loading == "hide"? "hide" : "show";
	
	if(loading == "show" ){
		uni.showLoading({
		    title: '加载中'
		});
	}
            
    return uni.request({
		url: Config.url_config + url,
		method,
		data: data,
		// dataType: 'json',
		header: headers
	})
	.then(res => {
		uni.hideLoading();
        if (res[1].data.success && res[1].data.code == 200) {
            return res[1]
        } else {
            throw res[1].data
        }
		
    }).catch(parmas => {
		// console.log('parmas ==>', parmas)
		uni.hideLoading()
　　　　 switch (parmas.code) {
　　　　　　　case 401:
　　　　　　　　　uni.clearStorageSync();
				uni.reLaunch({
					url: '/pages/mine/sign',
				})
　　　　　　　　　break
　　　　　　　default:
　　　　　　　　　　uni.showToast({
　　　　　　　　　　　　title: parmas.msg,
　　　　　　　　　　　　icon: 'none'
　　　　　　　　　　})
　　　　　　　　　　return Promise.reject()
　　　　　　　　　　break
　　　　　}
　　})
 } 

export default request